export {};
/* 
继承：
interface： 
extends 继承，也可以理解把别人的属性都复制过来
*/

{
  interface Point2D {
    x: number;
    y: number;
  }
  interface Point3D extends Point2D {
    z: number;
  }
}

type Point2D = {
  x: number;
  y: number;
};

/* 
    interface继承，interface 类型名 extends 要继承的类型名 {要添加的属性}
    type 继承, type 类型名 = 继承的类型名 & {要添加的属性}
*/

// type 实现继承，比较少见，了解即可
// js 的 &&  ---- and
type Point3D = Point2D & {
  z: number;
};

const p2: Point2D = {
  x: 0,
  y: 0,
};

const p3: Point3D = {
  x: 0,
  y: 0,
  z: 0,
};
